home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / DIGIFR / OEMSETUP.INF < prev    next >
INI File  |  1996-07-31  |  64KB  |  1,695 lines

  1. [Identification]
  2.     OptionType = NetAdapter
  3. [PlatformsSupported]
  4.     ISA
  5.     EISA
  6.         PCI
  7. [Options]
  8.         DigiSyncFR
  9. [FileConstants]
  10. ParamInf        = "NCPARAM.INF"
  11. UtilityInf      = "UTILITY.INF"
  12. subroutineinf   = "SUBROUTN.INF"
  13. SoftwareType    = "driver"
  14. Exit_Code       = 0
  15. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  16. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  17. Manufacturer    = "DigiBoard"
  18. ProductMajorVersion     = "3"
  19. ProductMinorVersion     = "51"
  20. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  21.  
  22. ErrorControlValue = 1
  23. DigiSupport = "Frame Relay"
  24. DigiNumPorts = 2
  25. ;
  26. DidIncrement = $(FALSE)
  27.  
  28. ; Digi SXB driver Software parameters
  29. sxbProductSoftwareName                = "DigiSxb"
  30. sxbProductSoftwareImagePath        = "%SystemRoot%\System32\drivers\DigiSxb.sys"
  31. sxbNetRuleSoftwareType             = "DigiSxbSys DigiSxbDriver"
  32. sxbProductServiceName                    = "DigiSxb"
  33. sxbNetRuleSoftwareUse              = $(SoftwareType)
  34. sxbNetRuleSoftwareBindForm         = """"DigiSxbDriver""" yes no container"
  35. sxbNetRuleSoftwareClass            = {"DigiSxbDriver basic"}
  36. sxbNetRuleSoftwareBindable        = {"DigiSxbDriver DigiSxbAdapter non exclusive 100"}
  37. sxbProductSoftwareTitle                = "Digi SyncPort SXB Driver"
  38. sxbProductSoftwareDescription    = "Digi SyncPort SXB Driver"
  39. sxbSoftwareRefCount                        = 0
  40. sxbNetRuleInfOption                = "DigiSyncFR"
  41.  
  42. sxbProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(sxbProductSoftwareName)"\CurrentVersion"
  43.  
  44. sxbTypeSupported        = 7
  45. sxbEventFile = $(IoLogMsgDLL)";"$(sxbProductSoftwareImagePath)
  46. sxbKeyProductHdwDriver  = ""
  47. sxbGroup             = "NDIS"
  48. sxbServiceFacility   = "Facility0"
  49. sxbdevwans           = "/dev/wans" 
  50. sxbWANS              = "WANS"
  51. sxbNetworkAddress    = "53-52-43-44-47-32"
  52. sxbSoftwareHiddenDriver = 1
  53.  
  54. ; Digi Adapter NT NetCard install
  55. AdapterHardwareName = "DigiSxb"
  56. AdapterHardwareTitle       = "Digi SyncPort Adapter"
  57. AdapterHardwareDescription = "Digi SyncPort Adapter"
  58. AdapterNetRuleType         = "DigiSxb DigiSxbAdapter"
  59. AdapterNetRuleBindForm     = " yes yes container"
  60. AdapterNetRuleClass        = {"DigiSxbAdapter basic"}
  61. AdapterNetRulesInfOption   =  "DigiSyncFR"
  62. AdapterNetworkAddress = "44-49-47-49-30-31"
  63. AdapterBiosImagePathISA  = "SxbBios.bin"
  64. AdapterSXBImagePathISA   = "SxbFep.bin"
  65. AdapterBiosImagePathPCI  = "SxbBios.pci"
  66. AdapterSXBImagePathPCI   = "SxbFep.pci"
  67. AdapterProductName    =  "DigiSxb"
  68. AdapterInterruptNumber = 15
  69. AdapterIOBaseAddress   = 808
  70. AdapterMemoryAddress   = 851968
  71. AdapterWindowSize      = 32768 
  72.  
  73. ; Digi SXB Hardware parameters
  74. ProductHardwareName     = "DigiSxb"
  75. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(FRProductSoftwareName)"\CurrentVersion"
  76. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  77.  
  78. ; Digi Frame Relay driver software parameters
  79. FRProductSoftwareName     = "DigiFr"
  80. FRProductServiceName     = "DigiFr"
  81. FRProductSoftwareTitle    = "Digi Frame Relay Driver"
  82. FRProductSoftwareDescription    = "Digi Frame Relay Driver"
  83. FRProductSoftwareImagePath = "%SystemRoot%\System32\drivers\DigiFr.sys"
  84. FRNetRuleSoftwareType     = "DigiFrSys ndisDriver DigiFrDriver"
  85. FRNetRuleSoftwareUse      = $(SoftwareType)
  86. FRNetRuleSoftwareBindForm = """"DigiFrDriver""" yes no container"
  87. FRNetRuleSoftwareClass    = {"DigiFrDriver basic"}
  88. FRNetRuleSoftwareBindable = {"DigiFrDriver DigiFrAdapter non exclusive 100"}
  89. FRSoftwareRefCount     = 0
  90. FRNetRuleInfOption        =  "DigiSyncFR"
  91. FRTypeSupported        = 7
  92. FREventFile = $(IoLogMsgDLL)";"$(FRProductSoftwareImagePath)
  93. FRGroup                = "NDIS"
  94. FRProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(FRProductSoftwareName)"\CurrentVersion"
  95. FRSoftwareHiddenDriver = 1
  96.  
  97. FRVirtualAdapterName = "DigiFr"
  98. FRVirtualAdapterDescription = "Digi FR Virtual Adapter"
  99. FRVirtualAdapterNetRuleType         = "DigiFr DigiFrAdapter"
  100. FRVirtualAdapterNetRuleBindForm     = " yes yes container"
  101. FRVirtualAdapterNetRuleClass        = {"DigiFrAdapter basic"}
  102. FRVirtualAdapterBusType         = 5 
  103. FRVirtualAdapterBusNumber       = 0
  104.  
  105. [GeneralConstants]
  106. from      = ""
  107. to        = ""
  108. ExitCodeOk     = 0
  109. ExitCodeCancel = 1
  110. ExitCodeFatal  = 2
  111. KeyNull         = ""
  112. MAXIMUM_ALLOWED   = 33554432
  113. RegistryErrorIndex = NO_ERROR
  114. KeyProduct      = ""
  115. KeyParameters   = ""
  116. TRUE            = 1
  117. FALSE           = 0
  118. NoTitle            = 0
  119. ExitState   = "Active"
  120. OldVersionExisted = $(FALSE)
  121. DriverPath      = $(!STF_NTPATH)\drivers
  122.  
  123. [UiVars]
  124.     from      = ""
  125.     to        = ""
  126.     !STF_DISPLAYDEBUGOUTPUT = 0
  127.     !STF_NTDRIVE        = ""
  128.     !STF_NTPATH         = ""
  129.     !STF_WINDOWSPATH    = "" ? $(!LIBHANDLE) GetWindowsNtDir
  130.     !STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
  131.     DriverPath      = $(!STF_NTPATH)"\drivers"
  132.  
  133. [DebugOptions]
  134.     !DebugOutputControl = 0
  135.     TraceConfig = 0
  136. [date]
  137.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  138. [Identify]
  139.     read-syms Identification
  140.     set Status     = STATUS_SUCCESSFUL
  141.     set Identifier = $(OptionType)
  142.     set Media      = #("Source Media Descriptions", 1, 1)
  143.     Return $(Status) $(Identifier) $(Media)
  144. [ReturnOptions]
  145.     set Status        = STATUS_FAILED
  146.     set OptionList     = {}
  147.     set OptionTextList = {}
  148.     set LanguageList = ^(LanguagesSupported, 1)
  149.     Ifcontains(i) $($0) in $(LanguageList)
  150.         ifstr(i) $($1) == ""
  151.            goto returnoptions
  152.         endif
  153.         set PlatformList = ^(PlatformsSupported, 1)
  154.         Ifcontains(i) $($1) in $(PlatformList)
  155.            goto returnoptions
  156.         else
  157.            set Status = STATUS_NOTSUPPORTED
  158.            goto finish_ReturnOptions
  159.         endif
  160.     else
  161.         set Status = STATUS_NOLANGUAGE
  162.         goto finish_ReturnOptions
  163.     endif
  164. returnoptions = +
  165.     set OptionList     = ^(Options, 1)
  166.     set OptionTextList = ^(OptionsText$($0), 1)
  167.     set Status         = STATUS_SUCCESSFUL
  168. finish_ReturnOptions = +
  169.     Return $(Status) $(OptionList) $(OptionTextList)
  170. [InstallOption]
  171.     set Option   = $($1)
  172.     set SrcDir   = $($2)
  173.     set AddCopy  = $($3)
  174.     set DoCopy   = $($4)
  175.     set DoConfig = $($5)
  176.     set LanguageList = ^(LanguagesSupported, 1)
  177.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  178.         Return STATUS_NOLANGUAGE
  179.     endif
  180.     Debug-Output "OEMNADWD.INF: STF_CWDIR is: "$(!STF_CWDIR)
  181.     Debug-Output "OEMNADWD.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  182.  
  183.     set OptionList = ^(Options, 1)
  184.     Ifcontains(i) $(Option) NOT-IN $(OptionList)
  185.             set Error = "The installation option is not supported"
  186.             goto fatal
  187.         endif
  188.  
  189.     set-subst LF = "\n"
  190.     read-syms GeneralConstants
  191.     read-syms FileConstants
  192.     read-syms DialogConstants$(!STF_LANGUAGE)
  193.     ifstr(i) $(!NTN_Origination) == "NCPA"
  194.         set Continue = $(OK)
  195.     endif
  196.     read-syms FileConstants$(!STF_LANGUAGE)
  197.     detect date
  198.     set-title  $(Function$(Option)Title)
  199.     set to   = Begin
  200.     set from = Begin
  201.     set CommonStatus = STATUS_SUCCESSFUL
  202.     EndWait
  203. Begin = +
  204.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  205.         set StartLabel = removeadapter
  206.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  207.         set StartLabel = UpgradeSoftware
  208.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  209.         set StartLabel = bindingadapter
  210.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  211.         set CommonStatus = STATUS_REBOOT
  212.         set StartLabel = configureadapter
  213.         Ifstr(i) $(sxbProductKeyName) == $(!NTN_RegBase)
  214.             Debug-Output "Cannot configure the Frame Relay driver software."
  215.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  216.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  217.                 Debug-Output "ShellCode error: cannot get an error string."
  218.                 goto ShellCodeError
  219.             endif
  220.             set Error = $($R0)
  221.             set from = end
  222.             set to = end
  223.             goto nonfatalinfo
  224.         endif
  225.         Ifstr(i) $(FRProductKeyName) == $(!NTN_RegBase)
  226.             Debug-Output "Cannot configure the Frame Relay driver software."
  227.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  228.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  229.                 Debug-Output "ShellCode error: cannot get an error string."
  230.                 goto ShellCodeError
  231.             endif
  232.             set Error = $($R0)
  233.             set from = end
  234.             set to = end
  235.             goto nonfatalinfo
  236.         endif
  237.     else
  238.         set StartLabel = installadapter
  239.         set OEM_ABANDON_OPTIONS = {}
  240.         set OEM_ABANDON_SOFTWARE = FALSE
  241.         set OEM_ABANDON_ON = TRUE
  242.     endif
  243.     Debug-Output "OEMNADWD.INF: =================================================="
  244.     Debug-Output "OEMNADWD.INF: STF_CWDIR is: "$(!STF_CWDIR)
  245.     Debug-Output "OEMNADWD.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  246.     Debug-Output "OEMNADWD.INF: Option is: "$(Option)
  247.     Debug-Output "OEMNADWD.INF: !STF_NCDETECT  is: "$(!STF_NCDETECT)
  248.     Debug-Output "OEMNADWD.INF: !STF_NCOPTION  is: "$(!STF_NCOPTION)
  249.     Debug-Output "OEMNADWD.INF: !STF_NCDETCARD is: "$(!STF_NCDETCARD)
  250.     Debug-Output "OEMNADWD.INF: !STF_NCDETINFO is: "$(!STF_NCDETINFO)
  251.     Debug-Output "OEMNADWD.INF: =================================================="
  252.  
  253.         goto $(StartLabel)
  254.  
  255. installadapter = +
  256. ; don't install if X.25 present
  257.         OpenRegKey $(!REG_H_LOCAL) "" "Software\DigiBoard\DigiX25"    $(MAXIMUM_ALLOWED) Key
  258.         ifstr $(Key) != $(KeyNULL)
  259.             set Error = "Frame Relay services cannot be installed while X.25 is installed"
  260.             goto fatal
  261.         endif
  262.  
  263.     OpenRegKey $(!REG_H_LOCAL) "" $(FRProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  264.     Ifstr $(KeyProduct) != $(KeyNull)
  265.         CloseRegKey $(KeyProduct)
  266.         ifstr(i) !(NTN_RegBase) == $(FRProductKeyName)
  267.            Shell $(UtilityInf), VerExistedDlg, $(FRProductSoftwareTitle),+
  268.                $(ProductVersion)
  269.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  270.                Debug-Output "ShellCode error: cannot get an error string."
  271.                goto ShellCodeError
  272.            endif
  273.            goto end
  274.         else
  275.                 OpenRegKey $(!REG_H_LOCAL) "" $(sxbProductKeyName) $(MAXIMUM_ALLOWED) sxbKeyProduct
  276.                 Ifstr $(sxbKeyProduct) != $(KeyNull)
  277.                   CloseRegKey $(sxbKeyProduct)
  278.               Shell $(UtilityInf), CardExistedDlg
  279.               ifint $($ShellCode) != $(!SHELL_CODE_OK)
  280.                Debug-Output "ShellCode error: cannot get an error string."
  281.                goto ShellCodeError
  282.               endif
  283.               ifstr(i) $($R1) != "OK"
  284.                Set CommonStatus = STATUS_USERCANCEL
  285.                goto end
  286.               endif
  287.                     endif
  288.               CloseRegKey $(sxbKeyProduct)
  289.           set OldVersionExisted = $(TRUE)
  290.         endif
  291.     endif
  292.  
  293.         ifint $(OldVersionExisted) == $(FALSE)
  294.         Debug-Output "Creating DigiSxb service"
  295.             Shell $(UtilityInf), CreateService, $(sxbProductServiceName),$(sxbProductSoftwareTitle), +
  296.                         $(sxbProductSoftwareImagePath),"kernelautostart",$(sxbGroup),{},"",$(sxbEventFile),    +
  297.                         $(sxbTypeSupported), "",$(ErrorControlValue),$(sxbProductServiceName),"",""
  298.         
  299.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  300.           Debug-Output "ShellCode error."
  301.         goto ShellCodeError
  302.         endif
  303.             set RegistryErrorIndex = $($R0)
  304.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  305.         goto fatalregistry
  306.         endif
  307.     
  308.         Debug-Output "DigiSxb service created"
  309.  
  310.         Set sxbSoftServiceKey      = $($R1)
  311.         Set sxbSoftParameterKey    = $($R2)
  312.         Set sxbSoftLinkageKey      = $($R3)
  313.  
  314. ; // perfmon 
  315. ;        CreateRegKey $(sxbSoftServiceKey) {Performance,$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" sxbPerfKey
  316. ;        ifstr $(sxbPerfKey) == $(KeyNull)
  317. ;                goto fatalregistry
  318. ;            endif
  319. ;
  320. ;     set NewValueList =                                                                                                            +
  321. ;                  {    {Open,        $(NoTitle),$(!REG_VT_SZ),"OpenSxbPerformanceData"            },+
  322. ;                      {Close,        $(NoTitle),$(!REG_VT_SZ),"CloseSxbPerformanceData"        },+
  323. ;                      {Collect,    $(NoTitle),$(!REG_VT_SZ),"CollectSxbPerformanceData"    },+
  324. ;                      {Library,    $(NoTitle),$(!REG_VT_SZ),"sxbperf.dll"                                } +
  325. ;          }
  326. ;    
  327. ;        Shell  $(UtilityInf), AddValueList, $(sxbPerfKey),$(NewValueList)
  328. ;        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  329. ;         goto ShellCodeError
  330. ;        endif
  331. ;            set RegistryErrorIndex = $($R0)
  332. ;        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  333. ;         goto fatalregistry
  334. ;        endif
  335. ;
  336. ; // perfmon 
  337.  
  338.        SetRegValue $(sxbSoftParameterKey) {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),$(sxbNetworkAddress)}
  339.  
  340.         CreateRegKey $(sxbSoftParameterKey) {$(sxbServiceFacility),$(NoTitle),GenericClass} "" +
  341.                                  $(MAXIMUM_ALLOWED) "" sxbServiceFacilityKey
  342.         
  343.         ifstr $(sxbServiceFacilityKey) == $(KeyNull)
  344.           OpenRegKey $(sxbSoftParameterKey) "" $(sxbServiceFacility) $(MAXIMUM_ALLOWED) sxbServiceFacilityKey
  345.           ifstr(i) $(sxbServiceFacilityKey) == $(KeyNull)
  346.           Debug-Output "Unable to Open sxbServiceParametersKey"
  347.           set RegistryErrorIndex = UNABLE_ACCESS_SOFTWARE_REG
  348.           Debug-Output "Unable to Create or Open sxbServiceFacilityKey"
  349.                  CloseRegKey $(sxbSoftServiceKey)
  350.                  CloseRegKey $(sxbSoftParameterKey)
  351.                  CloseRegKey $(sxbSoftLinkageKey)
  352.           goto fatalregistry
  353.            endif
  354.         endif
  355.  
  356.         set NewValueList =                                                                                +
  357.                   {    {DevName,    $(NoTitle),$(!REG_VT_SZ),$(sxbdevwans)},+
  358.             {Facility,$(NoTitle),$(!REG_VT_SZ),$(sxbWANS)}        +
  359.           }
  360.     
  361.         Shell  $(UtilityInf), AddValueList, $(sxbServiceFacilityKey),$(NewValueList)
  362.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  363.            Debug-Output "ShellCode error: AddValueList FAILED! --"$(sxbServiceFacilityKey)
  364.         goto ShellCodeError
  365.         endif
  366.     
  367.         set RegistryErrorIndex = $($R0)
  368.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  369.         Debug-Output "Registry error: add value list."
  370.         CloseRegKey $(sxbServiceFacilityKey)
  371.              CloseRegKey $(sxbSoftServiceKey)
  372.              CloseRegKey $(sxbSoftParameterKey)
  373.              CloseRegKey $(sxbSoftLinkageKey)
  374.         goto fatalregistry
  375.         endif
  376.  
  377.         FlushRegKey $(sxbServiceFacilityKey)
  378.       FlushRegKey $(sxbSoftServiceKey)
  379.       FlushRegKey $(sxbSoftParameterKey)
  380.       FlushRegKey $(sxbSoftLinkageKey)
  381.   
  382.            CloseRegKey $(sxbServiceFacilityKey)
  383.       CloseRegKey $(sxbSoftServiceKey)
  384.       CloseRegKey $(sxbSoftParameterKey)
  385.       CloseRegKey $(sxbSoftLinkageKey)
  386.  
  387.         Debug-Output "Creating DigiFr service"
  388.             Shell $(UtilityInf), CreateService, $(FRProductServiceName),$(FRProductSoftwareTitle), +
  389.                         $(FRProductSoftwareImagePath),"kernel",$(FRGroup),{"DigiSxb"},"",$(FREventFile), +
  390.                         $(FRTypeSupported), "",$(ErrorControlValue),$(FRProductServiceName),"",""
  391.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  392.         Debug-Output "ShellCode error."
  393.         goto ShellCodeError
  394.         endif
  395.         set RegistryErrorIndex = $($R0)
  396.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  397.         goto fatalregistry
  398.         endif
  399.  
  400.          Debug-Output "DigiFr service created"
  401.      
  402.            Set FRSoftServiceKey      = $($R1)
  403.         Set FRSoftParameterKey    = $($R2)
  404.         Set FRSoftLinkageKey      = $($R3)
  405.  
  406. ;            set NewValueList = +
  407. ;                    {{DependOnService, $(NoTitle), $(!REG_VT_MULTI_SZ), {"DigiSxb"} }}
  408. ;            Shell  $(UtilityInf), AddValueList, $(FRSoftServiceKey), $(NewValueList)
  409.  
  410.         set NewValueList = +
  411.             {{OtherDependencies, $(NoTitle), $(!REG_VT_MULTI_SZ), {"DigiSxb"} }}
  412.         Shell  $(UtilityInf), AddValueList, $(FRSoftLinkageKey), $(NewValueList)
  413.  
  414. ;        set NewValueList =                                                                                                                             +
  415. ;                {{Group,                        $(NoTitle),$(!REG_VT_SZ),                $(FRGroup)}                            +
  416. ;                }
  417. ;
  418. ;        Shell  $(UtilityInf), AddValueList, $(FRSoftServiceKey), $(NewValueList)
  419. ;        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  420. ;        Debug-Output "ShellCode error: AddValueList FAILED!  --"$(FRSoftServiceKey)
  421. ;        goto ShellCodeError
  422. ;        endif
  423. ;
  424. ;        set RegistryErrorIndex = $($R0)
  425. ;        Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  426. ;        Debug-Output "Registry error: add value list."
  427. ;            CloseRegKey $(FRSoftServiceKey)
  428. ;          CloseRegKey $(FRSoftParameterKey)
  429. ;          CloseRegKey $(FRSoftLinkageKey)
  430. ;        goto fatalregistry
  431. ;           endif
  432.  
  433.         FlushRegKey $(FRSoftServiceKey)
  434.       FlushRegKey $(FRSoftParameterKey)
  435.       FlushRegKey $(FRSoftLinkageKey)
  436.  
  437.         CloseRegKey $(FRSoftServiceKey)
  438.       CloseRegKey $(FRSoftParameterKey)
  439.       CloseRegKey $(FRSoftLinkageKey)
  440.  
  441.           Debug-Output "Creating DigiSxb software"
  442.         Shell $(UtilityInf), InstallSoftwareProduct $(Manufacturer) $(sxbProductSoftwareName) $(STF_CONTEXTINFNAME)
  443.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  444.             Debug-Output "ShellCode error."
  445.             goto ShellCodeError
  446.           endif
  447.  
  448.       set OEM_ABANDON_SOFTWARE = TRUE
  449.  
  450.            Set sxbSoftProductKey = $($R1)
  451.            Set sxbSoftNetRuleKey = $($R2)
  452.  
  453.         set NewValueList =                                                                                                                            +
  454.             {    {SoftwareType,$(NoTitle),$(!REG_VT_SZ),        $(SoftwareType)},                                    +
  455.             {MajorVersion,$(NoTitle),$(!REG_VT_SZ),        $(ProductMajorVersion)},                    +
  456.             {MinorVersion,$(NoTitle),$(!REG_VT_SZ),        $(ProductMinorVersion)},                    +
  457.             {Title,                $(NoTitle),$(!REG_VT_SZ),        $(sxbProductSoftwareTitle)},            +
  458.             {Description,    $(NoTitle),$(!REG_VT_SZ),        $(sxbProductSoftwareDescription)},+
  459.             {ServiceName,    $(NoTitle),$(!REG_VT_SZ),        $(sxbProductServiceName)},                +
  460.             {hidden,            $(NoTitle),$(!REG_VT_DWORD),$(sxbSoftwareHiddenDriver)},            +
  461.             {InstallDate,    $(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},                                         +
  462.                     {RefCount,        $(NoTitle),$(!REG_VT_DWORD),$(sxbSoftwareRefCount)}                        +
  463.                 }
  464.  
  465.         Shell $(UtilityInf), AddValueList, $(sxbSoftProductKey), $(NewValueList)
  466.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  467.             Debug-Output "ShellCode error: AddValueList FAILED!  --"$(sxbSoftProductKey)
  468.             goto ShellCodeError
  469.         endif
  470.  
  471.         set RegistryErrorIndex = $($R0)
  472.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  473.         Debug-Output "Registry error: add value list."
  474.         CloseRegKey $(sxbSoftProductKey)
  475.         CloseRegKey $(sxbSoftNetRuleKey)
  476.         goto fatalregistry
  477.         endif
  478.  
  479.             set sxbNetRuleInfNameSoftware = $(STF_CONTEXTINFNAME)
  480.  
  481.         Shell $(UtilityInf), ReduceInfPath, $(sxbNetRuleInfNameSoftware)
  482.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  483.             Debug-Output "ShellCode error: ReduceInfPath FAILED  -- "$(sxbNetRuleInfNameSoftware)
  484.             goto ShellCodeError
  485.            endif
  486.    
  487.            set sxbNetRuleInfNameSoftware = $($R0)
  488.  
  489.         set NewValueList =                                                                                                                            +
  490.                {    {type,            $(NoTitle),$(!REG_VT_SZ),                $(sxbNetRuleSoftwareType)},            +
  491.           {use,                $(NoTitle),$(!REG_VT_SZ),                $(sxbNetRuleSoftwareUse)},             +
  492.           {bindform,    $(NoTitle),$(!REG_VT_SZ),                $(sxbNetRuleSoftwareBindForm)}, +
  493.           {class,            $(NoTitle),$(!REG_VT_MULTI_SZ),    $(sxbNetRuleSoftwareClass)},         +
  494.           {bindable,    $(NoTitle),$(!REG_VT_MULTI_SZ),    $(sxbNetRuleSoftwareBindable)}, +
  495.           {InfOption,    $(NoTitle),$(!REG_VT_SZ),                $(sxbNetRuleInfOption)}                 +
  496.                 {InfName,        $(NoTitle),$(!REG_VT_SZ),                $(sxbNetRuleInfNameSoftware)}     +
  497.             }
  498.  
  499.         Shell  $(UtilityInf), AddValueList, $(sxbSoftNetRuleKey), $(NewValueList)
  500.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  501.             Debug-Output "ShellCode error: AddValueList FAILED! --"$(sxbSoftNetRuleKey)
  502.             goto ShellCodeError
  503.         endif
  504.     
  505.         set RegistryErrorIndex = $($R0)
  506.         FlushRegKey $(sxbSoftProductKey)
  507.            FlushRegKey $(sxbSoftNetRuleKey)
  508.         CloseRegKey $(sxbSoftProductKey)
  509.         CloseRegKey $(sxbSoftNetRuleKey)
  510.          Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  511.           Debug-Output "Registry error: add value list."
  512.           goto fatalregistry
  513.         endif
  514.  
  515.             Debug-Output "Creating DigiFr software"
  516.             Shell $(UtilityInf), InstallSoftwareProduct $(Manufacturer) $(FRProductSoftwareName) $(STF_CONTEXTINFNAME)
  517.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  518.            Debug-Output "ShellCode error."
  519.             goto ShellCodeError
  520.         endif
  521.         Set FRSoftProductKey      = $($R1)
  522.         Set FRSoftNetRuleKey      = $($R2)
  523.  
  524.             set NewValueList =                                                                                                                            +
  525.                 {    {SoftwareType,$(NoTitle),$(!REG_VT_SZ),        $(SoftwareType)},                                    +
  526.             {MajorVersion,$(NoTitle),$(!REG_VT_SZ),        $(ProductMajorVersion)},                    +
  527.             {MinorVersion,$(NoTitle),$(!REG_VT_SZ),        $(ProductMinorVersion)},                    +
  528.             {Title,                $(NoTitle),$(!REG_VT_SZ),        $(FRProductSoftwareTitle)},                +
  529.             {Description,    $(NoTitle),$(!REG_VT_SZ),        $(FRProductSoftwareDescription)},    +
  530.             {ServiceName,    $(NoTitle),$(!REG_VT_SZ),        $(FRProductServiceName)},                    +
  531.             {hidden,            $(NoTitle),$(!REG_VT_DWORD),$(FRSoftwareHiddenDriver)},             +
  532.             {InstallDate,    $(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},                                         +
  533.             {Review,            $(NoTitle),$(!REG_VT_DWORD),$(TRUE)},                                                 +
  534.                     {RefCount,        $(NoTitle),$(!REG_VT_DWORD),$(FRSoftwareRefCount)}                         +
  535.                 }
  536.  
  537.         Shell  $(UtilityInf), AddValueList, $(FRSoftProductKey), $(NewValueList)
  538.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  539.         Debug-Output "ShellCode error: AddValueList FAILED!  --"$(FRSoftProductKey)
  540.         goto ShellCodeError
  541.         endif
  542.     
  543.         set RegistryErrorIndex = $($R0)
  544.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  545.         Debug-Output "Registry error: add value list."
  546.         CloseRegKey $(FRSoftProductKey)
  547.         CloseRegKey $(FRSoftNetRuleKey)
  548.         goto fatalregistry
  549.         endif
  550.  
  551.         set FRNetRuleInfNameSoftware  =  $(STF_CONTEXTINFNAME)
  552.  
  553.         Shell  $(UtilityInf), ReduceInfPath, $(FRNetRuleInfNameSoftware)
  554.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  555.            Debug-Output "ShellCode error: ReduceInfPath FAILED  -- "$(FRNetRuleInfNameSoftware)
  556.            goto ShellCodeError
  557.         endif
  558.  
  559.         set FRNetRuleInfNameSoftware = $($R0)
  560.  
  561.         set NewValueList =                                                                                                                            +
  562.                {    {type,            $(NoTitle),$(!REG_VT_SZ),                $(FRNetRuleSoftwareType)},            +
  563.           {use,                $(NoTitle),$(!REG_VT_SZ),                $(FRNetRuleSoftwareUse)},             +
  564.           {bindform,    $(NoTitle),$(!REG_VT_SZ),                $(FRNetRuleSoftwareBindForm)},     +
  565.           {class,            $(NoTitle),$(!REG_VT_MULTI_SZ),    $(FRNetRuleSoftwareClass)},         +
  566.           {bindable,    $(NoTitle),$(!REG_VT_MULTI_SZ),    $(FRNetRuleSoftwareBindable)},    +
  567.           {InfOption,    $(NoTitle),$(!REG_VT_SZ),                $(FRNetRuleInfOption)},                 +
  568.                    {InfName,        $(NoTitle),$(!REG_VT_SZ),                $(FRNetRuleInfNameSoftware)}         +
  569.                }
  570.             
  571.  
  572.         Shell  $(UtilityInf), AddValueList, $(FRSoftNetRuleKey), $(NewValueList)
  573.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  574.         Debug-Output "ShellCode error: AddValueList FAILED! --"$(FRSoftNetRuleKey)
  575.         goto ShellCodeError
  576.         endif
  577.     
  578.         set RegistryErrorIndex = $($R0)
  579.         FlushRegKey $(FRSoftProductKey)
  580.         FlushRegKey $(FRSoftNetRuleKey)
  581.         CloseRegKey $(FRSoftProductKey)
  582.         CloseRegKey $(FRSoftNetRuleKey)
  583.  
  584.            Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  585.           Debug-Output "Registry error: add value list."
  586.           goto fatalregistry
  587.         endif
  588.  
  589.  
  590.         endif
  591.  
  592.     ifstr(i) $(!STF_NCDETINFO) == {}
  593.         Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardwareDescription) $(BusInterfaceType) $(BusNumber)
  594.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  595.             Debug-Output "ShellCode error."
  596.             goto ShellCodeError
  597.         endif
  598.         set BusInterfaceType = $($R1)
  599.         set BusNumber = $($R2)
  600.     else
  601.         set BusInterfaceType = *($(!STF_NCDETINFO),5)
  602.         set BusNumber = *($(!STF_NCDETINFO),6)
  603.     endif
  604.  
  605.         ifstr $(BusInterfaceType) == 5
  606.             set AdapterBiosImagePath = $(AdapterBiosImagePathPCI)
  607.             set AdapterSXBImagePath  = $(AdapterSXBImagePathPCI)
  608.         else
  609.             set AdapterBiosImagePath = $(AdapterBiosImagePathISA)
  610.             set AdapterSXBImagePath  = $(AdapterSXBImagePathISA)
  611.         endif
  612.  
  613.       Debug-Output "Creating DigiSxb adapter/service"
  614.       
  615.       Shell $(UtilityInf), AddHardwareComponent, $(AdapterHardwareName), $(STF_CONTEXTINFNAME), $(sxbProductKeyName)
  616.     ifint $($R4) != -1
  617.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  618.     endif
  619.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  620.         Debug-Output "Cannot add hardware component!"
  621.         goto ShellCodeError
  622.     endif
  623.  
  624.     set RegistryErrorIndex     = $($R0)
  625.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  626.         Debug-Output "Registry error: add hardware component"
  627.         Debug-Output $(RegistryErrorIndex)
  628.         CloseRegKey $($R1)
  629.         CloseRegKey $($R2)
  630.         CloseRegKey $($R3)
  631.         goto fatalregistry
  632.     endif
  633.     
  634.       Debug-Output "DigiSxb adapter/service created"
  635.        
  636.        set AdapterKeyNetcard    = $($R1)
  637.     set AdapterNetRulesKey   = $($R2)
  638.     set AdapterKeyParameters = $($R3)
  639.     set AdapterNumber        = $($R4)
  640.     set AdapterServiceName   = $($R5)
  641.  
  642.     set NewValueList =                                                                                                                                                        +
  643.         {    {ServiceName,    $(NoTitle),$(!REG_VT_SZ),        $(AdapterServiceName)},                                                    +
  644.             {Manufacturer,$(NoTitle),$(!REG_VT_SZ),        $(Manufacturer)},                                                                +
  645.         {Title,                $(NoTitle),$(!REG_VT_SZ),        "["$(AdapterNumber)"] "$(AdapterHardwareTitle)},+
  646.         {Description,    $(NoTitle),$(!REG_VT_SZ),        $(AdapterHardwareDescription)},                                    +
  647.         {ProductName,    $(NoTitle),$(!REG_VT_SZ),        $(AdapterHardwareName)},                                                +
  648.         {InstallDate,    $(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}                                                                        +
  649.       }
  650.  
  651.     Shell $(UtilityInf), AddValueList, $(AdapterKeyNetcard), $(NewValueList)
  652.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  653.         Debug-Output "ShellCode error: AddValueList FAILED  -- "$(AdapterKeyNetcard)
  654.         goto ShellCodeError
  655.     endif
  656.  
  657.     shell $(UtilityInf), IncrementRefCount, $(FRProductKeyName)
  658.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  659.         Debug-Output "ShellCode error."
  660.         goto ShellCodeError
  661.     endif
  662.  
  663.     set RegistryErrorIndex = $($R0)
  664.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  665.         Debug-Output "AddAdapter: IncrementRefCount returned "$(RegistryErrorIndex)
  666.     endif
  667.          set DidIncrement = $(TRUE)
  668.  
  669.     set AdapterNetRuleInfName = $(STF_CONTEXTINFNAME)
  670.     Shell  $(UtilityInf), ReduceInfPath, $(AdapterNetRuleInfName)
  671.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  672.         Debug-Output "ShellCode error: ReduceInfPath FAILED  -- "$(AdapterNetRuleInfName)
  673.         goto ShellCodeError
  674.     endif
  675.     set AdapterNetRuleInfName = $($R0)
  676.  
  677.     set AdapterNameNumber = $(AdapterServiceName)
  678.     set TempProdName = """"$(AdapterHardwareName)$(AdapterNumber)""""
  679.     set TempBindForm = $(TempProdName)$(AdapterNetRuleBindForm)
  680.  
  681.     set NewValueList =                                                                                                                         +
  682.         {    {InfName,        $(NoTitle),$(!REG_VT_SZ),                $(AdapterNetRuleInfName)},        +
  683.         {type,            $(NoTitle),$(!REG_VT_SZ),                $(AdapterNetRuleType)},                +
  684.         {bindform,    $(NoTitle),$(!REG_VT_SZ),                $(TempBindForm)},                         +
  685.         {class,            $(NoTitle),$(!REG_VT_MULTI_SZ),    $(AdapterNetRuleClass)},             +
  686.         {InfOption,    $(NoTitle),$(!REG_VT_SZ),                $(AdapterNetRulesInfOption)}     +
  687.       }
  688.  
  689.     Shell $(UtilityInf), AddValueList, $(AdapterNetRulesKey), $(NewValueList)
  690.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  691.         Debug-Output "ShellCode error."
  692.         goto ShellCodeError
  693.     endif
  694.  
  695.     set RegistryErrorIndex = $($R0)
  696.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  697.         Debug-Output "Resgitry error: add value list."
  698.         CloseRegKey $(AdapterKeyNetcard)
  699.         CloseRegKey $(AdapterKeyParameters)
  700.         CloseRegKey $(AdapterNetRulesKey)
  701.         goto fatalregistry
  702.     endif
  703.  
  704.     FlushRegKey $(AdapterKeyNetcard)
  705.     FlushRegKey $(AdapterNetRulesKey)
  706.     CloseRegKey $(AdapterKeyNetcard)
  707.     CloseRegKey $(AdapterNetRulesKey)
  708.  
  709.     set NewValueList =                                                                                                                                        +
  710.         {    {MemoryMappedBaseAddress,    $(NoTitle),$(!REG_VT_DWORD),$(AdapterMemoryAddress)},        +
  711.             {IOBaseAddress,                        $(NoTitle),$(!REG_VT_DWORD),$(AdapterIOBaseAddress)},        +
  712.             {InterruptNumber,                    $(NoTitle),$(!REG_VT_DWORD),$(AdapterInterruptNumber)},    +
  713.             {HdwDeviceName,                        $(NoTitle),$(!REG_VT_SZ),        $(AdapterProductName)},            +
  714.             {SXBImagePath,                        $(NoTitle),$(!REG_VT_SZ),        $(AdapterSXBImagePath)},        +
  715.             {BiosImagePath,                        $(NoTitle),$(!REG_VT_SZ),        $(AdapterBiosImagePath)},        +
  716.             {NetworkAddress,                    $(NoTitle),$(!REG_VT_SZ),        $(AdapterNetworkAddress)},    +
  717.             {WindowSize,                            $(NoTitle),$(!REG_VT_DWORD),$(AdapterWindowSize)},            +
  718.             {BusNumber,                                $(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},                +
  719.             {BusType,                                    $(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},                    +
  720.             {ServiceName,                            $(NoTitle),$(!REG_VT_SZ),        $(AdapterServiceName)},            +
  721.             {DigiSupport,                            $(NoTitle),$(!REG_VT_SZ),        $(DigiSupport)},                        +
  722.                 {DigiNumPorts,                        $(NoTitle),$(!REG_VT_DWORD),$(DigiNumPorts)}                        +
  723.       }
  724.  
  725.     Shell  $(UtilityInf), AddValueList, $(AdapterKeyParameters), $(NewValueList)
  726.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  727.         Debug-Output "ShellCode error: AddValueList FAILED  -- "$(AdapterParametersKey)
  728.         goto ShellCodeError
  729.     endif
  730.  
  731.     FlushRegKey $(AdapterKeyParameters)
  732.         set ParamKey = $(AdapterKeyParameters)
  733.  
  734.     goto adapteroptions
  735.  
  736. configureadapter = +
  737.     Debug-Output "OEMNADX.INF: Configure Adapter"    
  738.     Ifstr $(!NTN_RegBase) != $(KeyNull)
  739.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) SoftwareKey
  740.         Ifstr $(SoftwareKey) == $(KeyNull)
  741.           Debug-Output "Unable to open "$(!NTN_RegBase)" key!!!!"
  742.           goto ShellCodeError
  743.         Else
  744.             GetRegValue $(SoftwareKey), "ServiceName", ServiceNameList
  745.           set AdapterNameNumber = *($(ServiceNameList),4)
  746.           CloseRegKey $(SoftwareKey)
  747.         Endif
  748.     Endif
  749.  
  750. ; set-up DigiSxb#\Paramters\FR\PVC(1-n)
  751.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(AdapterNameNumber)"\Parameters" $(MAXIMUM_ALLOWED) ParamKey
  752.  
  753.         Shell "" SetUpForConfig, $(ParamKey), "A", $(AdapterNameNumber)
  754.         Shell "" SetUpForConfig, $(ParamKey), "B", $(AdapterNameNumber)
  755.  
  756. adapteroptions = +
  757.  
  758.     ifint $(OldVersionExisted) == $(FALSE)
  759.         ifstr(i) $(!NTN_InstallMode) == "install"
  760.            Ifstr(i) $(DoCopy) == "YES"
  761.  badpath = +
  762.               Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  763.               Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  764.                   Goto ShellCodeError
  765.               Else-Ifstr(i) $($R0) == STATUS_FAILED
  766.                   Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  767.                   ifint $($ShellCode) != $(!SHELL_CODE_OK)
  768.                       Debug-Output"Shell code error: DoAskSource"
  769.                       goto ShellCodeError
  770.                   endif
  771.                   set Error = $($R0)
  772.                   Goto fatal
  773.               Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  774.                   set CommonStatus = STATUS_USERCANCEL
  775.                   Goto abandon
  776.               Endif
  777.               Set SrcDir = $($R1)
  778.                         LibraryProcedure STATUS, $(!LIBHANDLE),CheckFileExistance $(SrcDir)"\digiwan.dl_"
  779.                             ifstr(i) $(STATUS) != YES
  780.                                 goto badpath
  781.                             endif
  782.            Endif
  783.            install "Install-Option"
  784.            ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  785.               Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  786.               ifint $($ShellCode) != $(!SHELL_CODE_OK)
  787.                   goto ShellCodeError
  788.               endif
  789.               set Error = $($R0)
  790.               goto fatal
  791.            endif
  792.  
  793. ; perfmon
  794. ;                     StartDetachedProcess ExitCode ""  "" $(!STF_WINDOWSSYSPATH)"\lodctr.exe" $(SrcDir)"\sxbperf.ini"
  795. ; perfmon
  796.  
  797.         endif
  798.     endif
  799.     LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE
  800.     Debug-Output "OEMNADX.INF: LIBHANDLE is "$(!LIBHANDLE)
  801.  
  802.     LibraryProcedure STATUS, $(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\digiwan.dll"
  803.     ifstr(i) $(STATUS) != YES
  804.       set Error = ""
  805.       goto fatal
  806.         endif
  807.  
  808.     Debug-Output "OEMNADX.INF: RegBase "$(!NTN_RegBase)
  809.     LoadLibrary "x" $(!STF_CWDDIR)DIGIWAN.dll DIGIHANDLE
  810.     Debug-Output "OEMNADX.INF: DIGIHANDLE is "$(DIGIHANDLE)
  811.     Shell $(subroutineinf) PopBillboard
  812.     LibraryProcedure Result $(DIGIHANDLE) DigiEntry $(AdapterNameNumber) $(!STF_HWND)
  813.     Debug-Output "OEMNADX.INF: Dialog Result is "$(Result)
  814.  
  815.     FreeLibrary $(DIGIHANDLE)
  816.  
  817.     set JumpLabel = Successful
  818.  
  819.     Ifstr(i) $(Result) == "OK"
  820.             Shell "" CreateVirtualAdapters $(ParamKey) "A" $(AdapterNameNumber)    "1"
  821.       set RegistryErrorIndex = $($R0)
  822.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  823.         goto fatalregistry
  824.         endif
  825.             ifstr $($R1) == $(TRUE)
  826.             set CommonStatus = STATUS_SUCCESSFUL
  827.             endif
  828.  
  829.             Shell "" CreateVirtualAdapters $(ParamKey) "B" $(AdapterNameNumber)    "2"
  830.       set RegistryErrorIndex = $($R0)
  831.            Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  832.         goto fatalregistry
  833.         endif
  834.             ifstr $($R1) == $(TRUE)
  835.             set CommonStatus = STATUS_SUCCESSFUL
  836.             endif
  837.  
  838.     else-Ifstr(i) $(Result) == "Cancel"
  839.       ifstr(i) $(!NTN_InstallMode) == install
  840.                 set JumpLabel = fatal
  841.             else
  842.             set JumpLabel = cancel
  843.             endif
  844.     else
  845.         set JumpLabel = fatal
  846.     endif
  847.  
  848.         Shell "" CleanUpAfterConfig    $(ParamKey) "A"
  849.         Shell "" CleanUpAfterConfig    $(ParamKey) "B"
  850.         CloseRegKey $(ParamKey)
  851.  
  852.         goto $(JumpLabel)
  853.  
  854. bindingadapter =+
  855. ;    OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\DigiFr" $(MAXIMUM_ALLOWED) ServiceKey
  856. ;    set NewValueList = +
  857. ;            {{DependOnService, $(NoTitle), $(!REG_VT_MULTI_SZ), {"DigiSxb"} }}
  858. ;    Shell  $(UtilityInf), AddValueList, $(ServiceKey), $(NewValueList)
  859. ;    CloseRegKey $(ServiceKey)
  860.  
  861.     set AdapterNameList = {}
  862.     set useTCPIPList = {}
  863.     set useIPXList = {}
  864.     set useEthernetList = {}
  865.  
  866.     set NetworkCardKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
  867.  
  868.     OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardKeyName) $(MAXIMUM_ALLOWED) IE_KeyNetcards
  869.     ifstr(i) $(IE_KeyNetcards) != ""    
  870.         EnumRegKey $(IE_KeyNetcards) IE_KeyNameList
  871.         ForListDo $(IE_KeyNameList)
  872.             OpenRegKey $(IE_KeyNetcards) "" *($($),1) $(MAXIMUM_ALLOWED) NetworkCardKey
  873.         Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  874.                 GetRegValue $(NetworkCardKey),"ProductName", ProductNameInfo
  875.                 set ProductName = *($(ProductNameInfo), 4)
  876.           Debug-Output "   ProductName = "$(ProductName)
  877.           ifstr(i) $(ProductName) != $(FRVirtualAdapterName)
  878.             goto nextnetcard
  879.           endif
  880.           GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  881.           set ServiceName = *($(ServiceNameInfo), 4)
  882.           Debug-Output "   ServiceName = "$(ServiceName)
  883.           OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) VAServiceKey
  884.  
  885.                  GetRegValue $(VAServiceKey),"TCPIP", TCPIPInfo
  886.                  GetRegValue $(VAServiceKey),"IPX", IPXInfo
  887.                  GetRegValue $(VAServiceKey),"Ethernet", EthernetInfo
  888.  
  889.                 set AdapterNameList    = >($(AdapterNameList), $(ServiceName))
  890.                 set useTCPIPList = >($(useTCPIPList), *($(TCPIPInfo), 4))
  891.                 set useIPXList = >($(useIPXList), *($(IPXInfo), 4))
  892.                 set useEthernetList = >($(useEthernetList), *($(EthernetInfo), 4))
  893.                                 
  894.                 CloseRegKey $(VAServiceKey)
  895.             endif
  896.     nextnetcard = +
  897.       EndForListDo
  898.     endif
  899.  
  900.     ForListDo $(AdapterNameList)
  901.  
  902.         set Transport = { "Tcpip", "Nbf", "NwlnkIpx", "AppleTalk", "DLC", "NetBT" }
  903.         ForListDo $(Transport)
  904.             OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$($)"\Linkage" $(MAXIMUM_ALLOWED) BindKey
  905.              ifstr $(BindKey) != $(KeyNull)
  906.                  GetRegValue $(BindKey),"Bind", $($)BindList
  907.  
  908.                 OpenRegKey $(BindKey) "" "Disabled" $(MAXIMUM_ALLOWED) DisabledBindKey
  909.                  ifstr $(DisabledBindKey) != $(KeyNull)
  910.                      GetRegValue $(DisabledBindKey),"Bind", $($)DisabledBindList
  911.                     CloseRegKey $(DisabledBindKey)
  912.                 endif
  913.  
  914.                 CloseRegKey $(BindKey)
  915.             endif
  916.  
  917.         EndForListDo
  918.   
  919.         set useTCPIP = *($(useTCPIPList),$(#))
  920.         set useIPX = *($(useIPXList),$(#))
  921.         set useEthernet = *($(useEthernetList),$(#))
  922.         set AdapterName = $($)
  923.  
  924.         set Protocol = { "TCPIP", "Ethernet", "IPX", "Ethernet", "Ethernet", "TCPIP" }
  925.         ForListDo $(Protocol)
  926.             set Service =  *($(Transport), $(#))
  927.  
  928.             ifint    $(use$($)) == $(FALSE)
  929.                 set BindList = $($(Service)BindList)
  930.                 set Action = "deactivate"
  931.             else
  932.                 set BindList = $($(Service)DisabledBindList)
  933.                 set Action = "activate"
  934.             endif
  935.  
  936.             set BindList = *($(BindList), 4)
  937.  
  938.             ForListDo $(BindList)
  939.                 split-string $($) "\" BindSplit
  940.                                 
  941.                 ifstr *($(BindSplit), 4) == $(AdapterName)
  942.                     Shell $(UtilityInf) ToggleBinding, $(Service), $(#), $(Action)
  943.                 endif
  944.             EndForListDo
  945.     
  946.         EndForListDo
  947.  
  948.     EndForListDo
  949.  
  950.   goto end
  951.  
  952. removeadapter = +
  953.     Ifstr $(!NTN_RegBase) != $(KeyNull)
  954.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) SoftwareKey
  955.         Ifstr $(SoftwareKey) == $(KeyNull)
  956.           Debug-Output "Unable to open "$(!NTN_RegBase)" key!!!!"
  957.           goto ShellCodeError
  958.         Else
  959.             GetRegValue $(SoftwareKey), "ServiceName", ServiceNameList
  960.           set AdapterNameNumber = *($(ServiceNameList),4)
  961.           CloseRegKey $(SoftwareKey)
  962.         Endif
  963.     Endif
  964.  
  965.         Shell    "", RemoveVirtualAdapters, "A", $(AdapterNameNumber)
  966.         Shell    "", RemoveVirtualAdapters, "B", $(AdapterNameNumber)
  967.  
  968.     Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  969.         $(sxbProductSoftwareName), $(!NTN_RegBase)
  970.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  971.         Debug-Output "ShellCode error"
  972.         goto ShellCodeError
  973.     endif
  974.     set RegistryErrorIndex = $($R0)
  975.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  976.         goto fatalregistry
  977.     endif
  978.  
  979.     shell $(UtilityInf), DecrementRefCount, $(FRProductKeyName)
  980.     Debug-Output "OEMNADX.INF: DecrementRefCount return value = "$($R0)
  981.     set RegistryErrorIndex = $($R0)
  982.     Ifstr(i) $($R0) != NO_ERROR
  983.         Debug-Output "OEMNADX.INF: DecrementRefCount != NO_ERROR"
  984.     Endif
  985.  
  986.     shell $(UtilityInf), IsRefCountEqualZero, $(FRProductKeyName)
  987.     set RegistryErrorIndex = $($R0)
  988.     Ifstr(i) $($R0) != NO_ERROR
  989.         Debug-Output "UTILITY.INF: [RemoveAdapter] IsRefCountEqualZero returned "$($R0)
  990.     endif
  991.     Ifint $($R1) == $(TRUE)
  992.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  993.         $(FRProductSoftwareName), TRUE
  994.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  995.         Debug-Output "ShellCode error"
  996.         goto ShellCodeError
  997.            endif
  998.            set RegistryErrorIndex = $($R0)
  999.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1000.         goto fatalregistry
  1001.         endif
  1002.  
  1003. ; perfmon
  1004. ;            StartDetachedProcess ExitCode ""  "" $(!STF_WINDOWSSYSPATH)"\unlodctr.exe" DigiSxb
  1005. ; perfmon
  1006.       install RemoveFiles
  1007.     endif
  1008. removeadapterExit = +
  1009.     Debug-Output "OEMNADX.INF: Exiting removeadapter"
  1010.     goto end
  1011. UpgradeSoftware = +
  1012.     goto end
  1013. cancel = +
  1014.     set CommonStatus = STATUS_USERCANCEL
  1015.     goto end
  1016. Successful = +
  1017.     goto end
  1018. abandon = +
  1019.     ForListDo $(OEM_ABANDON_OPTIONS)
  1020.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  1021.             $(sxbProductSoftwareName), $($)
  1022.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1023.             Debug-Output "ShellCode error"
  1024.             goto ShellCodeError
  1025.         endif
  1026.         set RegistryErrorIndex = $($R0)
  1027.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1028.             goto fatalregistry
  1029.         endif
  1030.     EndForListDo
  1031.  
  1032.         ifint $(DidIncrement) == $(TRUE)
  1033.             shell $(UtilityInf), DecrementRefCount, $(FRProductKeyName)
  1034.             Debug-Output "OEMNADX.INF: DecrementRefCount return value = "$($R0)
  1035.           Ifstr(i) $($R0) != NO_ERROR
  1036.               Debug-Output "OEMNADX.INF: DecrementRefCount != NO_ERROR"
  1037.             Endif
  1038.         endif
  1039.  
  1040.     shell $(UtilityInf), IsRefCountEqualZero, $(FRProductKeyName)
  1041.     set RegistryErrorIndex = $($R0)
  1042.     Ifstr(i) $($R0) != NO_ERROR
  1043.           goto ShellCodeError
  1044.     endif
  1045.  
  1046.         set DeleteFiles = $(FALSE)
  1047.     Ifint $($R1) == $(TRUE)
  1048.             set DeleteFiles = $(TRUE)
  1049.         endif
  1050.  
  1051.     Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), $(FRProductSoftwareName), TRUE
  1052.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1053.         Debug-Output "ShellCode error"
  1054.         goto ShellCodeError
  1055.     endif
  1056.     set RegistryErrorIndex = $($R0)
  1057.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1058.         goto fatalregistry
  1059.     endif
  1060.  
  1061.         ifstr $(DeleteFiles) == $(TRUE)
  1062. ; perfmon
  1063. ;            StartDetachedProcess ExitCode ""  "" $(!STF_WINDOWSSYSPATH)"\unlodctr.exe" DigiSxb
  1064. ; perfmon
  1065.         install RemoveFiles
  1066.         endif
  1067.  
  1068.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  1069.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  1070.             $(sxbProductSoftwareName), TRUE
  1071.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1072.             Debug-Output "ShellCode error"
  1073.             goto ShellCodeError
  1074.         endif
  1075.         set RegistryErrorIndex = $($R0)
  1076.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1077.             goto fatalregistry
  1078.         endif
  1079.     endif
  1080.     goto end
  1081. warning = +
  1082.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1083.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1084.         goto ShellCodeError
  1085.     endif
  1086.     ifstr(i) $($R1) == "OK"
  1087.         goto $(to)
  1088.     else-ifstr(i) $($R1) == "CANCEL"
  1089.         goto $(from)
  1090.     else
  1091.         goto "end"
  1092.     endif
  1093. nonfatalinfo = +
  1094.     Set CommonStatus = STATUS_USERCANCEL
  1095.     Set Severity = STATUS
  1096.     goto nonfatalmsg
  1097. nonfatal = +
  1098.     Set Severity = NONFATAL
  1099.     goto nonfatalmsg
  1100. nonfatalmsg = +
  1101.     ifstr(i) $(Error) == ""
  1102.         Set Severity = NONFATAL
  1103.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1104.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1105.             goto ShellCodeError
  1106.         endif
  1107.         set Error = $($R0)
  1108.     endif
  1109.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1110.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1111.         goto ShellCodeError
  1112.     endif
  1113.     ifstr(i) $($R1) == "OK"
  1114.         goto $(from)
  1115.     else
  1116.         goto "end"
  1117.     endif
  1118. fatalregistry = +
  1119.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1120.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1121.         goto ShellCodeError
  1122.     endif
  1123.     set Error = $($R0)
  1124.     goto fatal
  1125. fataldetect = +
  1126.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  1127.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1128.         Debug-Output "ShellCode error: cannot get an error string."
  1129.         goto ShellCodeError
  1130.     endif
  1131.     set Error = $($R0)
  1132.     Goto fatal
  1133. fatal = +
  1134.     ifstr(i) $(Error) == ""
  1135.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1136.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1137.             goto ShellCodeError
  1138.         endif
  1139.         set Error = $($R0)
  1140.     endif
  1141.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1142.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1143.         goto ShellCodeError
  1144.     endif
  1145.     goto setfailed
  1146. ShellCodeError = +
  1147.     set DlgType      = "MessageBox"
  1148.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  1149.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  1150.     set STF_MB_TYPE  = 1
  1151.     set STF_MB_ICON  = 3
  1152.     set STF_MB_DEF   = 1
  1153.     ui start "Error Message"
  1154.     goto setfailed
  1155. setfailed = +
  1156.     set CommonStatus = STATUS_FAILED
  1157.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1158.         set OEM_ABANDON_ON = FALSE
  1159.         goto abandon
  1160.     endif
  1161.     goto end
  1162. end = +
  1163.     goto term
  1164. term = +
  1165.     Return $(CommonStatus)
  1166.  
  1167. [RemoveFiles]
  1168.    Debug-Output "******************Entering [RemoveFiles]******************"
  1169.    set RemoveList = {}
  1170.    set RenameList = {}
  1171.    OpenRegKey $(!REG_H_LOCAL) "" $(sxbProductKeyName) +
  1172.               $(MAXIMUM_ALLOWED) sxbKeyProductHdwDriver
  1173.    ifstr $(sxbKeyProductHdwDriver) == $(KeyNull)
  1174.       set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\drivers\"$(sxbProductServiceName)".sys")
  1175.       set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\drivers\"$(AdapterSXBImagePathISA))
  1176.       set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\drivers\"$(AdapterBiosImagePathISA))
  1177.       set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\drivers\"$(AdapterSXBImagePathPCI))
  1178.       set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\drivers\"$(AdapterBiosImagePathPCI))
  1179.  
  1180. ; perfmon
  1181. ;     set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\sxbperf.dll")
  1182. ; perfmon
  1183.  
  1184.    endif
  1185.    CloseRegKey $(sxbKeyProductHdwDriver)
  1186.  
  1187.    OpenRegKey $(!REG_H_LOCAL) "" $(FRProductKeyName) +
  1188.               $(MAXIMUM_ALLOWED) KeyProduct
  1189.    ifstr $(KeyProduct) == $(KeyNull)
  1190.       set RenameList = >($(RenameList), $(!STF_WINDOWSSYSPATH)"\drivers\"$(FRProductServiceName)".sys")
  1191.       set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DIGIWAN.dll")
  1192.       set RemoveList = >($(RemoveList), $(!STF_WINDOWSSYSPATH)"\DIGIWAN.HLP")
  1193.    endif
  1194.    CloseRegKey $(KeyProduct)
  1195.  
  1196.    Debug-Output "RemoveList = "$(RemoveList)
  1197.    Debug-Output "RenameList = "$(RenameList)
  1198.  
  1199.    ForListDo $(RemoveList)
  1200.        Debug-Output "Removing "$($)
  1201.        LibraryProcedure Status , $(!LIBHANDLE), DelFile $($)
  1202.        Debug-Output "Status is "$(Status)
  1203.    EndForListDo
  1204.    ForListDo $(RenameList)
  1205.        Debug-Output "RenameList entry = "$($)
  1206.        Split-String $($) "\" FilePath
  1207.        QueryListSize PathLen $(FilePath)
  1208.        Split-String *($(FilePath),$(PathLen)) "." FullFileName
  1209.        Set FileName = *($(FullFileName),1)
  1210.        Debug-Output "FileName is "$(FileName)
  1211.        LibraryProcedure STATUS, $(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
  1212.        Debug-Output "CheckFile Status = "$(STATUS)
  1213.        ifstr(i) $(STATUS) == YES
  1214.            LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
  1215.            Debug-Output "Delfile Status = "$(STATUS)
  1216.            LibraryProcedure STATUS, $(!LIBHANDLE), DelFile $($)
  1217.            Debug-Output "Delfile Status = "$(STATUS)
  1218.        endif
  1219.  
  1220.        Debug-Output "Renaming from "$($)
  1221.        Debug-Output "Renaming to "$(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
  1222.      LibraryProcedure STATUS, $(!LIBHANDLE),CheckFileExistance $($)
  1223.      ifstr(i) $(STATUS) == YES
  1224.            LibraryProcedure Status1 , $(!LIBHANDLE), RenFile $($), $(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
  1225.        endif
  1226.        Debug-Output "Status is "$(Status1)
  1227.        AddFileToDeleteList $(!STF_WINDOWSSYSPATH)"\DRIVERS\"$(FileName)".old"
  1228.    EndForListDo
  1229.    exit
  1230. [Install-Option]
  1231.     Debug-Output "********************* Inside Install-Option *************************"
  1232.     Debug-Output "   AddCopy = "$(AddCopy)
  1233.     Debug-Output "   DoCopy = "$(DoCopy)
  1234.     Debug-Output "   DoConfig = "$(DoConfig)
  1235.     Debug-Output "   NTN_InstallPhase = "$(!NTN_InstallPhase)
  1236.     set STF_VITAL = ""
  1237.     ifstr(i) $(AddCopy) == "YES"
  1238.       AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1239.       AddSectionFilesToCopyList Files-DigiFr $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1240.             AddSectionFilesToCopyList Files-Dll $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1241.             AddSectionFilesToCopyList Files-$(Option)-images $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1242. ;      AddSectionFilesToCopyList Files-PerfMon $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1243.     endif
  1244.  
  1245.         set STF_DECOMPRESS = 1
  1246.  
  1247.     ifstr(i) $(DoCopy) == "YES"
  1248.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1249.        CopyFilesInCopyList
  1250.     else-ifstr(i) $(!NTN_InstallPhase) == primary
  1251.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1252.        CopyFilesInCopyList
  1253.     endif
  1254.     Exit
  1255. [Source Media Descriptions]
  1256.     1 = "Window NT CD-ROM"
  1257. [Signature]
  1258.     FileType = MICROSOFT_DRVLIB_FILE
  1259. [GetSignature]
  1260.     read-syms Signature
  1261.     return $(FileType)
  1262. [ProductType]
  1263.     STF_PRODUCT  = Winnt
  1264.     STF_PLATFORM = I386
  1265.  
  1266. [Files-Inf]
  1267.     1, oemsetup.inf, SIZE=63725, RENAME=$(!UG_Filename)
  1268. [Files-DigiSyncFR-images]
  1269.     1,SxbFep.bin,  SIZE=385024, NODELETESOURCE
  1270.     1,SxbBios.bin, SIZE=25088,  NODELETESOURCE
  1271.     1,SxbFep.pci,  SIZE=385280, NODELETESOURCE
  1272.     1,SxbBios.pci, SIZE=26112,  NODELETESOURCE
  1273. [Files-DigiSyncFR]
  1274.     1,DigiSxb.sys, SIZE=66800,  NODELETESOURCE
  1275. [Files-DigiFr]
  1276.     1,DigiFr.sys,  SIZE=13872,  NODELETESOURCE
  1277. [Files-Dll]
  1278.     1,DigiWan.dll, SIZE=301568, NODELETESOURCE
  1279.     1,DigiWan.hlp, SIZE=16984,  NODELETESOURCE
  1280.     1,DigiWan.cnt, SIZE=705,    NODELETESOURCE
  1281.  
  1282. ;[Files-PerfMon]
  1283. ;        1,SxbPerf.dll, SIZE=34148, NODELETESOURCE
  1284.  
  1285. [LanguagesSupported]
  1286.     ENG
  1287. [OptionsTextENG]
  1288.         DigiSyncFR = "Digi SyncPort Frame Relay Adapter"
  1289. [FileConstantsENG]
  1290. ProCaption   = "Windows NT Setup"
  1291. ProCancel    = "Cancel"
  1292. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  1293.                "Are you sure you want to cancel copying files?"
  1294. ProCancelCap = "Network Setup Message"
  1295. ProText1     = "Copying:"
  1296. ProText2     = "To:"
  1297. ShellCodeErrorTitle     = "Error: "$(Function$(Option)Title)
  1298. ShellCodeErrorText      = "Shell Code Error."
  1299. [DialogConstantsENG]
  1300. Help        = "&Help"
  1301. Exit        = "Cancel"
  1302. OK          = "OK"
  1303. HelpContext = ""
  1304. Continue    = "Continue"
  1305. Cancel      = "Cancel"
  1306. [SetUpForConfig]
  1307.     read-syms GeneralConstants
  1308.     read-syms FileConstants
  1309.  
  1310.     set ParamKey = $($0)
  1311.     set Port = $($1)
  1312.     set AdapterNameNumber = $($2)
  1313.     set Count = 1
  1314.   set RegistryErrorIndex = NO_ERROR
  1315.  
  1316.     OpenRegKey $(ParamKey) "" "Port"$(Port)"\FR" $(MAXIMUM_ALLOWED) FRKey
  1317.  
  1318.     set NetworkCardKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
  1319.     
  1320.     OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardKeyName) $(MAXIMUM_ALLOWED) IE_KeyNetcards
  1321.     ifstr(i) $(IE_KeyNetcards) != ""    
  1322.         EnumRegKey $(IE_KeyNetcards) IE_KeyNameList
  1323.         ForListDo $(IE_KeyNameList)
  1324.             OpenRegKey $(IE_KeyNetcards) "" *($($),1) $(MAXIMUM_ALLOWED) NetworkCardKey
  1325.           Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  1326.                 GetRegValue $(NetworkCardKey),"ProductName", ProductNameInfo
  1327.                 set ProductName = *($(ProductNameInfo), 4)
  1328.              Debug-Output "   ProductName = "$(ProductName)
  1329.             ifstr(i) $(ProductName) != $(FRVirtualAdapterName)
  1330.                   goto nextnetcard
  1331.              endif
  1332.              GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  1333.             set ServiceName = *($(ServiceNameInfo), 4)
  1334.              Debug-Output "   ServiceName = "$(ServiceName)
  1335.              OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) VAServiceKey
  1336.  
  1337.           GetRegValue $(VAServiceKey), "Adapter", AdapterNameInfo  
  1338.           set AdapterName = *($(AdapterNameInfo), 4)
  1339.           ifstr(i) $(AdapterName) != $(AdapterNameNumber)
  1340.             goto nextnetcard
  1341.           endif
  1342.  
  1343.           GetRegValue $(VAServiceKey), "Port", AdapterPortInfo  
  1344.           set AdapterPort = *($(AdapterPortInfo), 4)
  1345.           ifstr(i) $(AdapterPort) != $(Port)
  1346.                goto nextnetcard
  1347.           endif
  1348.  
  1349.                 GetRegValue $(NetworkCardKey),"Title", TitleInfo
  1350.           set Desc = *($(TitleInfo), 4)
  1351.  
  1352.                 SetRegValue $(VAServiceKey) {Desc,$(NoTitle),$(!REG_VT_SZ),$(Desc)}
  1353.                 EnumRegValue $(VAServiceKey) NewValueList
  1354.                 CreateRegKey $(FRKey) {"PVC"$(Count),$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" PVCKey
  1355.  
  1356.             Shell $(UtilityInf), AddValueList, $(PVCKey), $(NewValueList)
  1357.         set RegistryErrorIndex = $($R0)
  1358.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1359.             goto SetUpForConfig_Err
  1360.         endif
  1361.  
  1362.                 FlushRegKey $(PVCKey)
  1363.                 CloseRegKey $(PVCKey)
  1364.  
  1365.                 set-add Count = $(Count), 1
  1366.         endif
  1367.     nextnetcard = +
  1368.       EndForListDo
  1369.     endif
  1370.     CloseRegKey $(FRKey)
  1371.     CloseRegKey $(IE_KeyNetcards)
  1372. SetUpForConfig_Err = +
  1373.     return $(RegistryErrorIndex)
  1374.  
  1375. [CleanUpAfterConfig]
  1376.     read-syms GeneralConstants
  1377.     read-syms FileConstants
  1378.  
  1379.     set ParamKey = $($0)
  1380.     set Port = $($1)
  1381.   set RegistryErrorIndex = NO_ERROR
  1382.  
  1383.     OpenRegKey $(ParamKey) "" "Port"$(Port)"\FR" $(MAXIMUM_ALLOWED) FRKey
  1384.     ifstr(i) $(FRKey) != $(KeyNull)    
  1385.         EnumRegKey $(FRKey) FRKeyList
  1386.         ForListDo $(FRKeyList)
  1387.             DeleteRegKey $(FRKey) *($($),1)
  1388.       EndForListDo
  1389.     else
  1390.         set RegistryErrorIndex = UNABLE_ACCESS_SOFTWARE_REG
  1391.     endif
  1392.     CloseRegKey $(FRKey)
  1393. CleanUpAfterConfig_Err = +
  1394.     return $(RegistryErrorIndex)
  1395.  
  1396. [CreateVirtualAdapters]
  1397.     read-syms GeneralConstants
  1398.     read-syms FileConstants
  1399.     detect date
  1400.  
  1401.     set ParamKey = $($0)
  1402.     set Port = $($1)
  1403.     set AdapterNameNumber = $($2)
  1404.     set PortNum = $($3)
  1405.  
  1406.   set RegistryErrorIndex = NO_ERROR
  1407.     set NeedBindingReview = $(FALSE)
  1408.  
  1409.     OpenRegKey $(ParamKey) "" "Port"$(Port)"\FR" $(MAXIMUM_ALLOWED) FRKey
  1410.     ifstr(i) $(FRKey) == $(KeyNull)    
  1411.         set RegistryErrorIndex = UNABLE_ACCESS_SOFTWARE_REG
  1412.       goto CreateVirtualAdapters_Err
  1413.     endif
  1414.  
  1415.     set DLCIList = {}
  1416.     set PVCKeyList = {}
  1417.     EnumRegKey $(FRKey) FRKeyList
  1418.     ForListDo $(FRKeyList)
  1419.         OpenRegKey $(FRKey) "" *($($),1) $(MAXIMUM_ALLOWED) PVCKey
  1420.       GetRegValue $(PVCKey), "DLCI", DLCIInfo  
  1421.       set DLCI = *($(DLCIInfo), 4)
  1422.         set DLCIList = >($(DLCIList), $(DLCI))
  1423.         set PVCKeyList = >($(PVCKeyList), $(PVCKey))
  1424.     EndForListDo
  1425.     
  1426.     set ProcessedDLCIList = {}
  1427.     
  1428.     set NetworkCardKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
  1429.         
  1430.     OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardKeyName) $(MAXIMUM_ALLOWED) IE_KeyNetcards
  1431.     ifstr(i) $(IE_KeyNetcards) != ""    
  1432.         EnumRegKey $(IE_KeyNetcards) IE_KeyNameList
  1433.         ForListDo $(IE_KeyNameList)
  1434.             OpenRegKey $(IE_KeyNetcards) "" *($($),1) $(MAXIMUM_ALLOWED) NetworkCardKey
  1435.         Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  1436.                 GetRegValue $(NetworkCardKey),"ProductName", ProductNameInfo
  1437.                 set ProductName = *($(ProductNameInfo), 4)
  1438.              Debug-Output "   ProductName = "$(ProductName)
  1439.              ifstr(i) $(ProductName) != $(FRVirtualAdapterName)
  1440.             goto nextnetcard
  1441.           endif
  1442.           GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  1443.           set ServiceName = *($(ServiceNameInfo), 4)
  1444.           Debug-Output "   ServiceName = "$(ServiceName)
  1445.           OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) VAServiceKey
  1446.  
  1447.           GetRegValue $(VAServiceKey), "Adapter", AdapterNameInfo  
  1448.           set AdapterName = *($(AdapterNameInfo), 4)
  1449.           ifstr(i) $(AdapterName) != $(AdapterNameNumber)
  1450.                goto nextnetcard
  1451.           endif
  1452.  
  1453.           GetRegValue $(VAServiceKey), "Port", AdapterPortInfo  
  1454.           set AdapterPort = *($(AdapterPortInfo), 4)
  1455.           ifstr(i) $(AdapterPort) != $(Port)
  1456.             goto nextnetcard
  1457.           endif
  1458.  
  1459.           GetRegValue $(VAServiceKey), "DLCI", DLCIInfo  
  1460.           set DLCI = *($(DLCIInfo), 4)
  1461.  
  1462.                 ifcontains $(DLCI) in $(DLCIList)
  1463.                   Shell "", SetFRParams, $(VAServiceKey), $(DLCI), $(DLCIList), $(PVCKeyList), $(NetworkCardKey)
  1464.             set RegistryErrorIndex = $($R0)
  1465.                Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1466.             goto CreateVirtualAdapters_Err
  1467.             endif
  1468.                     ifstr $($R1) == $(TRUE)
  1469.                         set NeedBindingReview = $(TRUE)
  1470.                     endif
  1471.                 else
  1472.                     Shell    $(UtilityInf) RemoveHardwareComponent, $(Manufacturer), $(FRProductSoftwareName), $(NetworkCardKeyName)"\"*($($),1)
  1473.             set RegistryErrorIndex = $($R0)
  1474.                Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1475.             goto CreateVirtualAdapters_Err
  1476.             endif
  1477.                     set NeedBindingReview = $(TRUE)
  1478.                 endif
  1479.  
  1480.  
  1481.                 set ProcessedDLCIList    = >($(ProcessedDLCIList), $(DLCI))
  1482.             endif
  1483.     nextnetcard = +
  1484.          EndForListDo
  1485.     endif
  1486.  
  1487.     ForListDo $(FRKeyList)
  1488.         OpenRegKey $(FRKey) "" *($($),1) $(MAXIMUM_ALLOWED) PVCKey
  1489.         GetRegValue $(PVCKey), "DLCI", DLCIInfo  
  1490.         set DLCI = *($(DLCIInfo), 4)
  1491.  
  1492.         ifcontains $(DLCI) not-in $(ProcessedDLCIList)
  1493.             Shell $(UtilityInf), AssignAdapterNumber, "", "1000"
  1494.       set RegistryErrorIndex = $($R0)
  1495.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1496.              goto CreateVirtualAdapters_Err
  1497.         endif
  1498.             set AdapterNum = $($R1);
  1499.  
  1500.           Shell $(UtilityInf), AddHardwareComponent, $(FRVirtualAdapterName), $(STF_CONTEXTINFNAME), $(FRProductKeyName), "", "", $(AdapterNum)
  1501.       set RegistryErrorIndex = $($R0)
  1502.       Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1503.         CloseRegKey $($R1)
  1504.         CloseRegKey $($R2)
  1505.         CloseRegKey $($R3)
  1506.              goto CreateVirtualAdapters_Err
  1507.       endif
  1508.             set NeedBindingReview = $(TRUE)
  1509.  
  1510.            set AdapterKeyNetcard    = $($R1)
  1511.         set AdapterNetRulesKey   = $($R2)
  1512.         set AdapterKeyParameters = $($R3)
  1513.         set AdapterNumber        = $($R4)
  1514.         set AdapterServiceName   = $($R5)
  1515.  
  1516.             Split-String $(AdapterNameNumber) "b" splitList
  1517.             set RealAdapterNum = *($(splitList), 3)
  1518.  
  1519.         set NewValueList =                                                                                                                                                       +
  1520.             {    {ServiceName,    $(NoTitle),$(!REG_VT_SZ),        $(AdapterServiceName)},                                                     +
  1521.                 {Manufacturer,$(NoTitle),$(!REG_VT_SZ),        $(Manufacturer)},                                                                 +
  1522.             {Title,                $(NoTitle),$(!REG_VT_SZ),        "["$(RealAdapterNum)"] Digi FR - Line "$(PortNum)", DLCI "$(DLCI)},+
  1523.             {Description,    $(NoTitle),$(!REG_VT_SZ),        $(FRVirtualAdapterDescription)},                                 +
  1524.                {ProductName,    $(NoTitle),$(!REG_VT_SZ),        $(FRVirtualAdapterName)},                                                 +
  1525.             {InstallDate,    $(NoTitle),$(!REG_VT_DWORD),*($(Now),1)},                                                                         +
  1526.             {Hidden,            $(NoTitle),$(!REG_VT_DWORD),$(TRUE)}                                                                                 +
  1527.           }
  1528.  
  1529.         Shell $(UtilityInf), AddValueList, $(AdapterKeyNetcard), $(NewValueList)
  1530.       set RegistryErrorIndex = $($R0)
  1531.       Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1532.              goto CreateVirtualAdapters_Err
  1533.       endif
  1534.  
  1535.         set AdapterNetRuleInfName = $(STF_CONTEXTINFNAME)
  1536.         Shell  $(UtilityInf), ReduceInfPath, $(AdapterNetRuleInfName)
  1537.           set AdapterNetRuleInfName = $($R0)
  1538.  
  1539.         set TempProdName = """"$(FRVirtualAdapterName)$(AdapterNumber)""""
  1540.         set TempBindForm = $(TempProdName)$(FRVirtualAdapterNetRuleBindForm)
  1541.  
  1542.         set NewValueList =                                                                                                                         +
  1543.             {    {InfName,        $(NoTitle),$(!REG_VT_SZ),                $(AdapterNetRuleInfName)},        +
  1544.             {type,            $(NoTitle),$(!REG_VT_SZ),                $(FRVirtualAdapterNetRuleType)},                +
  1545.             {bindform,    $(NoTitle),$(!REG_VT_SZ),                $(TempBindForm)},                         +
  1546.                {class,            $(NoTitle),$(!REG_VT_MULTI_SZ),    $(FRVirtualAdapterNetRuleClass)},             +
  1547.             {InfOption,    $(NoTitle),$(!REG_VT_SZ),                $(AdapterNetRulesInfOption)}     +
  1548.           }
  1549.  
  1550.         Shell $(UtilityInf), AddValueList, $(AdapterNetRulesKey), $(NewValueList)
  1551.          set RegistryErrorIndex = $($R0)
  1552.       Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1553.         CloseRegKey $(AdapterKeyNetcard)
  1554.         CloseRegKey $(AdapterKeyParameters)
  1555.         CloseRegKey $(AdapterNetRulesKey)
  1556.              goto CreateVirtualAdapters_Err
  1557.       endif
  1558.  
  1559.           Shell "", SetFRParams, $(AdapterKeyParameters), $(DLCI), $(DLCIList), $(PVCKeyList), $(AdapterKeyNetcard)
  1560.  
  1561.         set NewValueList =                                                                                                                    +
  1562.             {    {BusNumber,            $(NoTitle),$(!REG_VT_DWORD),$(FRVirtualAdapterBusNumber)},                +
  1563.                 {BusType,                $(NoTitle),$(!REG_VT_DWORD),$(FRVirtualAdapterBusType)},                    +
  1564.                 {NetworkAddress,$(NoTitle),$(!REG_VT_SZ),        $(AdapterNetworkAddress)},    +
  1565.                 {ServiceName,        $(NoTitle),$(!REG_VT_SZ),        $(AdapterServiceName)},            +
  1566.                     {DLCI,                    $(NoTitle),$(!REG_VT_DWORD),$(DLCI)},                                        +        
  1567.                 {Adapter,                $(NoTitle),$(!REG_VT_SZ),        $(AdapterNameNumber)},            +
  1568.             {Port,                    $(NoTitle),$(!REG_VT_SZ),        $(Port)}                                        +
  1569.           }
  1570.  
  1571.         Shell  $(UtilityInf), AddValueList, $(AdapterKeyParameters), $(NewValueList)
  1572.         set RegistryErrorIndex = $($R0)
  1573.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1574.              goto CreateVirtualAdapters_Err
  1575.         endif
  1576.  
  1577.           FlushRegKey $(AdapterKeyNetcard)
  1578.           FlushRegKey $(AdapterKeyParameters)
  1579.           FlushRegKey $(AdapterNetRulesKey)
  1580.           CloseRegKey $(AdapterKeyNetcard)
  1581.           CloseRegKey $(AdapterKeyParameters)
  1582.           CloseRegKey $(AdapterNetRulesKey)
  1583.         endif
  1584.  
  1585.         CloseRegKey $(PVCKey)
  1586.     EndForListDo
  1587.     CloseRegKey $(FRKey)
  1588.  
  1589.     ForListDo $(PVCKeyList)
  1590.         CloseRegKey $($)
  1591.     EndForListDo
  1592.  
  1593.     CloseRegKey $(IE_KeyNetcards)
  1594.  
  1595. CreateVirtualAdapters_Err = +
  1596.     return $(RegistryErrorIndex) $(NeedBindingReview)
  1597.  
  1598. [RemoveVirtualAdapters]
  1599.     read-syms GeneralConstants
  1600.     read-syms FileConstants
  1601.  
  1602.     set Port = $($0)
  1603.     set AdapterNameNumber = $($1)
  1604.   set RegistryErrorIndex = NO_ERROR
  1605.  
  1606.     set NetworkCardKeyName = $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards"
  1607.  
  1608.     OpenRegKey $(!REG_H_LOCAL) "" $(NetworkCardKeyName) $(MAXIMUM_ALLOWED) IE_KeyNetcards
  1609.     ifstr(i) $(IE_KeyNetcards) != ""    
  1610.         EnumRegKey $(IE_KeyNetcards) IE_KeyNameList
  1611.         ForListDo $(IE_KeyNameList)
  1612.             OpenRegKey $(IE_KeyNetcards) "" *($($),1) $(MAXIMUM_ALLOWED) NetworkCardKey
  1613.         Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  1614.                 GetRegValue $(NetworkCardKey),"ProductName", ProductNameInfo
  1615.                 set ProductName = *($(ProductNameInfo), 4)
  1616.           Debug-Output "   ProductName = "$(ProductName)
  1617.           ifstr(i) $(ProductName) != $(FRVirtualAdapterName)
  1618.             goto nextnetcard
  1619.           endif
  1620.           GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  1621.           set ServiceName = *($(ServiceNameInfo), 4)
  1622.           Debug-Output "   ServiceName = "$(ServiceName)
  1623.           OpenRegKey $(!REG_H_LOCAL) "" "System\CurrentControlSet\Services\"$(ServiceName)"\Parameters" $(MAXIMUM_ALLOWED) VAServiceKey
  1624.  
  1625.                 ifstr $(VAServiceKey) != $(KeyNull) 
  1626.                     GetRegValue $(VAServiceKey), "Adapter", AdapterNameInfo  
  1627.                     set AdapterName = *($(AdapterNameInfo), 4)
  1628.                     ifstr(i) $(AdapterName) != $(AdapterNameNumber)
  1629.                         goto nextnetcard
  1630.                     endif
  1631.  
  1632.                     GetRegValue $(VAServiceKey), "Port", AdapterPortInfo  
  1633.                     set AdapterPort = *($(AdapterPortInfo), 4)
  1634.                     ifstr(i) $(AdapterPort) != $(Port)
  1635.                         goto nextnetcard
  1636.                     endif
  1637.                 endif
  1638.  
  1639.                 Shell    $(UtilityInf) RemoveHardwareComponent, $(Manufacturer), $(FRProductSoftwareName), $(NetworkCardKeyName)"\"*($($),1)
  1640.             set RegistryErrorIndex = $($R0)
  1641.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1642.                  goto RemoveVirtualAdapters_Err
  1643.             endif
  1644.  
  1645.                 CloseRegKey $(VAServiceKey)
  1646.             endif
  1647.     nextnetcard = +
  1648.       EndForListDo
  1649.     endif
  1650. RemoveVirtualAdapters_Err = +
  1651.     return $(RegistryErrorIndex)
  1652.  
  1653. [SetFRParams]
  1654.     read-syms GeneralConstants
  1655.     read-syms FileConstants
  1656.  
  1657.     set AdapterParametersKey = $($0)
  1658.     set DLCI = $($1)
  1659.     set DLCIList = $($2)
  1660.     set PVCKeyList = $($3)
  1661.     set NetCardKey = $($4)
  1662.  
  1663.   set RegistryErrorIndex = NO_ERROR
  1664.     set NeedBindingReview = $(FALSE)
  1665.  
  1666.     ForListDo    $(DLCIList)
  1667.         ifint $(DLCI) == $($)
  1668.             set ItemNumber = $(#)
  1669.         endif
  1670.     EndForListDo
  1671.     set PVCKey = *($(PVCKeyList), $(ItemNumber))
  1672.  
  1673.     GetRegValue $(PVCKey),"Desc", DescInfo
  1674.     set Desc = *($(DescInfo), 4)
  1675.     SetRegValue $(NetCardKey), {Title,$(NoTitle),$(!REG_VT_SZ),$(Desc)}
  1676.  
  1677.     set KeyList = { "TCPIP", "IPX", "Ethernet" }
  1678.     ForListDo $(KeyList)
  1679.         GetRegValue $(PVCKey), $($), Key1
  1680.         GetRegValue $(AdapterParametersKey), $($), Key2
  1681.         ifstr *($(Key1), 4) != *($(Key2), 4)
  1682.             set NeedBindingReview = $(TRUE)
  1683.         endif
  1684.     EndForListDo
  1685.  
  1686.     EnumRegValue $(PVCKey) NewValueList
  1687.     Shell  $(UtilityInf), AddValueList, $(AdapterParametersKey), $(NewValueList)
  1688.     set RegistryErrorIndex = $($R0)
  1689.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1690.         goto SetFRParams_Err
  1691.     endif
  1692.  
  1693. SetFRParams_Err = +
  1694.     return $(RegistryErrorIndex) $(NeedBindingReview)
  1695.